package com.dragon.backstage.domain.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 用户登陆日志导出excel
 *
 * @author dragon
 * @version 1.0
 * @date 2024/10/14 17:47
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(title = "用户登陆日志导出excel")
public class UserLoginLogExportExcel {

    @Schema(title = "登陆ID")
    @ColumnWidth(25)
    @ExcelProperty(value = "登陆ID")
    private Long loginId;

    @Schema(title = "追踪ID")
    @ColumnWidth(25)
    @ExcelProperty(value = "追踪ID")
    private String traceId;

    @Schema(title = "登陆账号")
    @ColumnWidth(25)
    @ExcelProperty(value = "登陆账号")
    private String account;

    @Schema(title = "登录IP地址")
    @ColumnWidth(25)
    @ExcelProperty(value = "登录IP地址")
    private String loginIp;

    @Schema(title = "登录地点")
    @ColumnWidth(25)
    @ExcelProperty(value = "登录地点")
    private String loginLocation;

    @Schema(title = "浏览器类型")
    @ColumnWidth(25)
    @ExcelProperty(value = "浏览器类型")
    private String browser;

    @Schema(title = "操作系统")
    @ColumnWidth(25)
    @ExcelProperty(value = "操作系统")
    private String os;

    @Schema(title = "引擎类型")
    @ColumnWidth(25)
    @ExcelProperty(value = "引擎类型")
    private String engine;

    @Schema(title = "登陆状态（1正常 0失败）")
    @ColumnWidth(25)
    @ExcelProperty(value = "登陆状态")
    private String statusDes;

    @Schema(title = "提示消息")
    @ColumnWidth(25)
    @ExcelProperty(value = "提示消息")
    private String msg;

    @Schema(title = "登陆时间")
    @ColumnWidth(25)
    @ExcelProperty(value = "登陆时间")
    private LocalDateTime loginTime;

}
